package LC.demo;

import java.util.Random;

public class demo {
    public static void main(String[] args) {

        int[] arr = new int[10];

        Random r = new Random();

        // 采用随机数给数组的每一个元素赋值
        for (int i = 0; i < arr.length; i++) {
            arr[i] = r.nextInt(100) + 1;
        }

        // 数组的遍历
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                System.out.println(arr[i] + "]");
            } else {
                System.out.print(arr[i] + ", ");
            }
        }

        // 求数组的最大值
        int max = arr[0];

        // 求数组的最小值
        int min = arr[0];

        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
            if (arr[i] < min) {
                min = arr[i];
            }
        }

        System.out.println("数组的最大值为:" + max);
        System.out.println("数组的最小值为:" + min);

        // 定义参照物
        // 90 34 12 35 98 23 17 71 4 66
        // 第二大的元素
        int max1 = min;  //4
        // 第二小的元素
        int min1 = max;  //98

        for (int i = 0; i < arr.length; i++) {
            if (arr[i] > max1 && arr[i] != max) {
                max1 = arr[i];
            }

            if (arr[i] < min1 && arr[i] != min) {
                min1 = arr[i];
            }
        }

        System.out.println("数组中第二大的元素为:" + max1);
        System.out.println("数组中第二小的元素为:" + min1);

    }

    private static void method1() {
        int[] arr = new int[10];

        Random r = new Random();

        // 给数组的元素赋值, 并保证元素唯一
        for (int i = 0; i < arr.length; i++) {// i = 3
            arr[i] = r.nextInt(100) + 1;
            for (int x = 0; x < i; x++) {
                if (arr[i] == arr[x]) {
                    i--;
                }
            }
        }

        // 冒泡排序
        for (int x = 0; x < arr.length - 1; x++) {
            for (int y = 0; y < arr.length - 1 - x; y++) {
                if (arr[y] > arr[y + 1]) {
                    int temp = arr[y];
                    arr[y] = arr[y + 1];
                    arr[y + 1] = temp;
                }
            }
        }

        // 数组的遍历
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                System.out.println(arr[i] + "]");
            } else {
                System.out.print(arr[i] + ", ");
            }
        }

        System.out.println("数组的第二小的元素为:" + arr[1]);
        System.out.println("数组的第二大的元素为:" + arr[arr.length - 2]);
    }

}
